package com.ayq.activiti.common.util;//package org.ezca.esign.common.base;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.google.gson.Gson;
//import io.swagger.annotations.ApiModel;
//import io.swagger.annotations.ApiModelProperty;
//import org.springframework.util.StringUtils;
//
//import java.math.BigDecimal;
//import java.util.HashMap;
//import java.util.List;
//
///**
// * 接受客户端入参
// *
// * @author Administrator
// */
//public class RequestParams {
//  /**
//   * 客户端类型
//   */
////  private static final String CLIENT_WEB = "web";
////  private static final String CLIENT_ANDROID = "android";
////  private static final String CLIENT_IOS = "ios";
//
//  Gson gson = new Gson();
//
//  /**
//   * 系统版本
//   */
//  @ApiModelProperty(value = "系统版本")
//  private String version;
//  /**
//   * 终端
//   */
//  @ApiModelProperty(value = "终端")
//  private String client;
//  /**
//   * 业务参数
//   */
//  @ApiModelProperty(value = "业务参数")
//  private Object content;
//
//  /**
//   * 构建一个指定类型数据。如果客服端传入参数为空，则返回空
//   *
//   * @param tClass
//   * @return
//   */
//  public <T> T getEntity(Class<T> tClass) {
//    return (isEmpty()) ? null : this.getContent(tClass);
//  }
//
//  /**
//   * 构建Map。如果客服端传入参数为空，则返回空
//   *
//   * @return
//   */
//  public HashMap getMap() {
//    return (isEmpty()) ? null : gson.fromJson(this.getContent().toString(), HashMap.class);
//  }
//
//  /**
//   * 获取集合对象类型
//   *
//   * @param tClass
//   * @param <T>
//   * @return
//   */
//  public <T> List<T> getEntityList(Class<T> tClass) {
//    if (isEmpty()) {
//      return null;
//    } else {
//      String s = gson.toJson(this.content);
//      return JSONObject.parseArray(s, tClass);
//    }
//  }
//
//  /**
//   * 获取json格式
//   *
//   * @param key
//   * @return
//   */
//  public JSONObject getJsonObject(String key) {
//    return getJsonObject().getJSONObject(key);
//  }
//
//  private JSONObject json = null;
//
//  /**
//   * 根据参数名获取数据字符串
//   *
//   * @param name
//   * @return
//   */
//  public String getString(String name) {
//    return getJsonObject().getString(name);
//  }
//
//  /**
//   * 根据参数名获取整形参数
//   *
//   * @param name
//   * @return
//   */
//  public int getInt(String name) {
//    return getJsonObject().getIntValue(name);
//  }
//
//  /**
//   * 根据参数名获取float类型数据
//   *
//   * @param name 参数名
//   * @param decimal 保留小数位后几位。如：保留一位，decimal=1.不传值则不保留小数位
//   * @return
//   */
//  public float getFloat(String name, int... decimal) {
//    if (decimal == null || decimal.length == 0) {
//      return getJsonObject().getFloatValue(name);
//    }
//
//    return new BigDecimal(getJsonObject().getString(name))
//        .setScale(decimal[0], BigDecimal.ROUND_HALF_UP)
//        .floatValue();
//  }
//
//  /**
//   * 根据参数名获取double类型数据
//   *
//   * @param name 参数名key
//   * @param decimal 保留小数位后几位。如：保留一位，decimal=1.不传值则不保留小数位
//   * @return
//   */
//  public double getDouble(String name, int... decimal) {
//    if (decimal == null || decimal.length == 0) {
//      return getJsonObject().getDouble(name);
//    }
//
//    return new BigDecimal(
//            (getJsonObject().getString(name) == null) ? "0" : getJsonObject().getString(name))
//        .setScale(decimal[0], BigDecimal.ROUND_HALF_UP)
//        .doubleValue();
//  }
//
//  /**
//   * 根据参数名获取long类型参数
//   *
//   * @param name
//   * @return
//   */
//  public long getLong(String name) {
//    return getJsonObject().getLongValue(name);
//  }
//
//  public boolean getBoolean(String name) {
//    return getJsonObject().getBoolean(name);
//  }
//
//  private <T> T getContent(Class<T> tClass) {
//    return JSON.parseObject(gson.toJson(content), tClass);
//  }
//
//  public JSONObject getJsonObject() {
//    setJsonObject();
//    return json;
//  }
//
//  public JSONArray getJsonArray(String key) {
//    return this.getJsonObject().getJSONArray(key);
//  }
//
//  public JSONArray getJsonArray() {
//    if (isEmpty()) {
//      return new JSONArray();
//    }
//    return this.getContent(JSONArray.class);
//  }
//
//  private void setJsonObject() {
//    if (json == null) {
//      json = isEmpty() ? new JSONObject() : getContent(JSONObject.class);
//    }
//  }
//
//  private boolean isEmpty() {
//    return (StringUtils.isEmpty(this.content)) ? true : false;
//  }
//
//  public String getClient() {
//    return client;
//  }
//
//  public void setClient(String client) {
//    this.client = client;
//  }
//
//  public void setContent(Object content) {
//    this.content = content;
//  }
//
//  public Object getContent() {
//    return content;
//  }
//
//  public String getVersion() {
//    return version;
//  }
//
//  public void setVersion(String version) {
//    this.version = version;
//  }
//
//  @Override
//  public String toString() {
//    return "ReqParams{"
//        + "gson="
//        + gson
//        + ", version='"
//        + version
//        + '\''
//        + ", client='"
//        + client
//        + '\''
//        + ", content="
//        + content
//        + ", json="
//        + json
//        + '}';
//  }
//}
